#include"list.h"
#include"Element_data.h"
#include"login.h"
#include"func.h"
//主函数
//班级stu结构体数组
stu class_02[MAX_SIZE] =
    {
        {.id = 2701, .age = 18, .grade = 100, .sex = "男", .name = "唐三", .password = "123"},
        {.id = 2702, .age = 18, .grade = 91, .sex = "男", .name = "萧炎", .password = "123"},
        {.id = 2703, .age = 18, .grade = 85, .sex = "男", .name = "叶晨", .password = "123"},
        {.id = 2704, .age = 18, .grade = 89, .sex = "女", .name = "小舞", .password = "123"},
        {.id = 2705, .age = 18, .grade = 77, .sex = "女", .name = "萧熏儿", .password = "123"},
        {.id = 2706, .age = 18, .grade = 66, .sex = "女", .name = "柳如烟", .password = "123"},
};
//声明一个顺序表list,并用指针L指向该顺序表
sq_list list;
sq_list *L = &list;
int main(int argc, char const *argv[])
{
    //初始化，将数据写入到学生顺序表中
    Init_Sql_List(L);
    for (int i = 0; i < 6; i++)
    {
        tail_insert_list(L, class_02[i]);
    }
    login(L);
    menu();
    // add_user(L, class_02[L->len]);
    // modifi_user(L,"唐三");
    // tail_del_list(L);
    // byname_delete(L,"唐三");
    // printf_Sql_List(L);
    return 0;
}

// 定义菜单栏
void menu()
{
    int flag = 1;
    while (flag)
    {
        int slect1; // 用户选择标记数
        puts("****************帅哥!欢迎登录系统****************");
        puts("****************请选择你的操作*******************");
        puts("******          1.输出学生信息              *****");
        puts("******          2.添加学生信息              *****");
        puts("******          3.删除学生信息              *****");
        puts("******          4.修改学生信息              *****");
        puts("******          5.查看学生信息              *****");
        puts("******          6.删除表尾元素              *****");
        puts("******          7.清空学生信息              *****");
        puts("******          8.学生成绩排名              *****");
        puts("******          9.好玩的小游戏              *****");
        puts("******          0.退出当前系统              *****");
        puts("*************************************************");

        puts("请选择你的操作:");
        scanf("%d", &slect1);
        // 输入对应的数字跳转到对应的函数功能
        switch (slect1)
        {
        case 1:
            // 输出学生信息表
            printf_Sql_List(L);
            IS_continue();
            break;
        case 2:
            // 添加学生信息
            add_user(L, class_02[L->len]);
            IS_continue();
            break;
        case 3:
            // 通过名字查找删除某个学生信息
            byname_delete(L);
            IS_continue();
            break;
        case 4:
            // 修改某个学生信息
            modifi_user(L);
            IS_continue();
            break;
        case 5:
            //查看学生信息
            find_by_name(L,"叶晨");
            IS_continue();
            break;
        case 6:
            // 删除表尾元素
            tail_del_list(L);
            IS_continue();
            break;
        case 7:
            // 清空学生信息
            Clear_Sql_List(L);
            IS_continue();
            break;
        case 8:
            // 学生成绩排序排等级
            level_grade(L);
            rank_grade(L);
            IS_continue();
            break;
        case 9:
            // 好玩的小游戏
            select_game();
            IS_continue();
            break;
        case 0:
            printf("你已成功退出系统!\n");
            exit(1);
        }
    }
}